9 research outputs found

    Prevođenje i transformisanje programa niskog nivoa

    Get PDF
    This thesis presents an approach for working with low level source code that enables automatic restructuring and raising the abstraction level of the programs. This makes it easier to understand the logic of the program, which in turn reduces the development time.The process in this thesis was designed to be flexible and consists of several independent tools. This makes the process easy to adapt as needed, while at the same time the developed tools can be used for other processes. There are usually two basic steps. First is the translation to WSL language, which has a great number of semantic preserving program transformations. The second step are the transformations of the translated WSL. Two tools were developed for translation: one that works with a subset of x86 assembly, and another that works with MicroJava bytecode. The result of the translation is a low level program in WSL.The primary goal of this thesis was to fully automate the selection of the transformations. This enables users with no domain  knowledge to efficiently use this process as needed. At the same time, the flexibility of the process enables experienced users to adapt it as needed or integrate it into other processes. The automation was achieved with a hill climbing algorithm.Experiments that were run on several types of input programs showed that the results can be excellent. The fitness function used was a built-in metric that gives the “weight” of structures in a program. On input samples that had original high level source codes, the end result metrics of the translated and transformed programs were comparable. On some samples the result was even better than the originals, on some others they were somewhat more complex. When comparing with low level original source code, the end results was always significantly improved.U okviru ove teze se predstavlja pristup radu sa programima niskog nivoa koji omogućava automatsko restrukturiranje i podizanje na više nivoe. Samim tim postaje mnogo lakše razumeti logiku programa što smanjuje vreme razvoja.Proces je dizajniran tako da bude fleksibilan i sastoji se od više nezavisnih alata. Samim tim je lako menjati proces po potrebi, ali i upotrebiti razvijene alate u drugim procesima. Tipično se mogu razlikovati dva glavna koraka. Prvi je prevođenje u jezik WSL,za koji postoji veliki broj transformacija programa koje očuvavaju semantiku. Drugi su transformacije u samom WSL-u. Za potrebe prevođenja su razvijena dva alata, jedan koji radi sa podskupom x86 asemblera i drugi koji radi sa MikroJava bajtkôdom. Rezultat prevođenja je program niskog nivoa u WSL jeziku.Primarni cilj ovog istraživanja je bila potpuna automatizacija odabira transformacija, tako da i korisnici bez iskustva u radu sa sistemom mogu efikasno da primene ovaj proces za svoje potrebe. Sa druge strane zbog fleksibilnosti procesa, iskusni korisnici mogu lakoda ga prošire ili da ga integrišu u neki drugi već postojeći   proces.Automatizacija je  postignuta pretraživanjem usponom (eng. hill climbing).Eksperimenti vršeni na nekoliko tipova ulaznih programa niskog nivoa su pokazali da rezultati mogu biti  izuzetni. Za funkciju pogodnosti je korišćena ugrađena metrika koja daje “težinu” struktura u programu. Kod ulaza za koje je originalni izvorni kôd bio dostupan, krajnje metrike najboljih varijanti prevedenih i transformisanih programa su bile na sličnom nivou. Neki primeri su bolji od originala, dok su drugi bili nešto kompleksniji. Rezultati su uvek pokazivali značajna unapređenja u odnosu na originalni kôd niskog nivoa

    Prevođenje i transformisanje programa niskog nivoa

    Get PDF
    This thesis presents an approach for working with low level source code that enables automatic restructuring and raising the abstraction level of the programs. This makes it easier to understand the logic of the program, which in turn reduces the development time.The process in this thesis was designed to be flexible and consists of several independent tools. This makes the process easy to adapt as needed, while at the same time the developed tools can be used for other processes. There are usually two basic steps. First is the translation to WSL language, which has a great number of semantic preserving program transformations. The second step are the transformations of the translated WSL. Two tools were developed for translation: one that works with a subset of x86 assembly, and another that works with MicroJava bytecode. The result of the translation is a low level program in WSL.The primary goal of this thesis was to fully automate the selection of the transformations. This enables users with no domain  knowledge to efficiently use this process as needed. At the same time, the flexibility of the process enables experienced users to adapt it as needed or integrate it into other processes. The automation was achieved with a hill climbing algorithm.Experiments that were run on several types of input programs showed that the results can be excellent. The fitness function used was a built-in metric that gives the “weight” of structures in a program. On input samples that had original high level source codes, the end result metrics of the translated and transformed programs were comparable. On some samples the result was even better than the originals, on some others they were somewhat more complex. When comparing with low level original source code, the end results was always significantly improved.U okviru ove teze se predstavlja pristup radu sa programima niskog nivoa koji omogućava automatsko restrukturiranje i podizanje na više nivoe. Samim tim postaje mnogo lakše razumeti logiku programa što smanjuje vreme razvoja.Proces je dizajniran tako da bude fleksibilan i sastoji se od više nezavisnih alata. Samim tim je lako menjati proces po potrebi, ali i upotrebiti razvijene alate u drugim procesima. Tipično se mogu razlikovati dva glavna koraka. Prvi je prevođenje u jezik WSL,za koji postoji veliki broj transformacija programa koje očuvavaju semantiku. Drugi su transformacije u samom WSL-u. Za potrebe prevođenja su razvijena dva alata, jedan koji radi sa podskupom x86 asemblera i drugi koji radi sa MikroJava bajtkôdom. Rezultat prevođenja je program niskog nivoa u WSL jeziku.Primarni cilj ovog istraživanja je bila potpuna automatizacija odabira transformacija, tako da i korisnici bez iskustva u radu sa sistemom mogu efikasno da primene ovaj proces za svoje potrebe. Sa druge strane zbog fleksibilnosti procesa, iskusni korisnici mogu lakoda ga prošire ili da ga integrišu u neki drugi već postojeći   proces.Automatizacija je  postignuta pretraživanjem usponom (eng. hill climbing).Eksperimenti vršeni na nekoliko tipova ulaznih programa niskog nivoa su pokazali da rezultati mogu biti  izuzetni. Za funkciju pogodnosti je korišćena ugrađena metrika koja daje “težinu” struktura u programu. Kod ulaza za koje je originalni izvorni kôd bio dostupan, krajnje metrike najboljih varijanti prevedenih i transformisanih programa su bile na sličnom nivou. Neki primeri su bolji od originala, dok su drugi bili nešto kompleksniji. Rezultati su uvek pokazivali značajna unapređenja u odnosu na originalni kôd niskog nivoa

    Automatic Categorization of Human-coded and Evolved CoreWar Warriors

    Get PDF
    Abstract. CoreWar is a computer simulation devised in the 1980s where programs loaded into a virtual memory array compete for control over the virtual machine. These programs are written in a special-purpose assembly language called Redcode and referred to as warriors. A great variety of environments and battle strategies have emerged over the years, leading to formation of different warrior types. This paper deals with the problem of automatic warrior categorization, presenting results of classification based on several approaches to warrior representation, and offering insight into ambiguities concerning the identification of strategic classes. Over 600 human-coded warriors were annotated, forming a training set for classification. Several major classifiers were used, SVMs proving to be the most reliable, reaching accuracy of 84%. Classification of an evolved warrior set using the trained classifiers was also conducted. The obtained results proved helpful in outlining the issues with both automatic and manual Redcode program categorization

    Application of Machine Learning in Estimating Milk Yield According to the Phenotypic and Pedigree Data of Holstein-Friesian Cattle in Serbia

    No full text
    This paper presents a deep neural network (DNN) approach designed to estimate the milk yield of Holstein-Friesian cattle. The DNN comprised stacked dense (fully connected) layers, each hidden layer followed by a dropout layer. Various configurations of the DNN were tested, incorporating 2 and 3 hidden layers containing 8 to 54 neurons. The experiment involved testing the DNN with different activation functions such as the sigmoid, tanh, and rectified linear unit (ReLU). The dropout rates ranging from 0 to 0.3 were employed, with the output layer using a linear activation function. The DNN models were trained using the Adam, SGD, and RMSprop optimizers, with the root mean square error serving as the loss metric. The training dataset comprised information from a unique database containing records of dairy cows in the Republic of Serbia, totaling 3,406 cows. The input parameters (a total of 27) for the DNN included breeding and milk yield data from the cow’s mother, as well as the father’s ID, whereas the output parameters (a total of 8) consisted of milk yield parameters (a total of 3) and breeding parameters of the cow (a total of 5). Training iterations were conducted using a batch size of 8 over 500, 1000, and 5000 epochs

    Mathematical Modeling and Software Tools for Breeding Value Estimation Based on Phenotypic, Pedigree and Genomic Information of Holstein Friesian Cattle in Serbia

    No full text
    In this paper, six univariate and two multivariate best linear unbiased prediction (BLUP) models were tested for the estimation of breeding values (BV) in Holstein Friesian cattle in Serbia. Two univariate models were formed using the numerator relationship matrix (NRM), four using the genomic relationship matrix (GRM). Multivariate models contained only an NRM. Two cases were studied, the first when only first lactations were observed, and the second when all lactations were observed using a repeatability model. A total of 6041 animals were included, and of them, 2565 had data on milk yield (MY), milk fat yield (FY), milk fat content (FC), milk protein yield (PY) and milk protein content (PC). Finally, out of those 2565 cows, 1491 were genotyped. A higher accuracy of BV was obtained when using a combination of NRM and GRM compared to NRM alone in univariate analysis, while multivariate analysis with repeated measures gave the highest accuracy with all 6041 animals. When only genotyped animals were observed, the highest accuracy of the estimated BV was calculated by the ssGBLUPp model, and the lowest by the univariate BLUP model. In conclusion, the current breeding programs in Serbia should be changed to use multivariate analysis with repeated measurements until the optimal size of the reference population, which must include genotyping data on both bulls and cows, is reached

    Mathematical Modeling and Software Tools for Breeding Value Estimation Based on Phenotypic, Pedigree and Genomic Information of Holstein Friesian Cattle in Serbia

    No full text
    In this paper, six univariate and two multivariate best linear unbiased prediction (BLUP) models were tested for the estimation of breeding values (BV) in Holstein Friesian cattle in Serbia. Two univariate models were formed using the numerator relationship matrix (NRM), four using the genomic relationship matrix (GRM). Multivariate models contained only an NRM. Two cases were studied, the first when only first lactations were observed, and the second when all lactations were observed using a repeatability model. A total of 6041 animals were included, and of them, 2565 had data on milk yield (MY), milk fat yield (FY), milk fat content (FC), milk protein yield (PY) and milk protein content (PC). Finally, out of those 2565 cows, 1491 were genotyped. A higher accuracy of BV was obtained when using a combination of NRM and GRM compared to NRM alone in univariate analysis, while multivariate analysis with repeated measures gave the highest accuracy with all 6041 animals. When only genotyped animals were observed, the highest accuracy of the estimated BV was calculated by the ssGBLUPp model, and the lowest by the univariate BLUP model. In conclusion, the current breeding programs in Serbia should be changed to use multivariate analysis with repeated measurements until the optimal size of the reference population, which must include genotyping data on both bulls and cows, is reached

    Heritability and Repeatability Estimates for Milk Production Traits Using Phenotypic, Pedigree-Based and Genomic Data of Serbian Holstein Cows

    No full text
    This research aims to estimate heritability and repeatability based on the data on milk production traits (MY – milk yield; FY – milk fat yield; FC – milk fat content; PY – milk protein yield and PC – milk protein content) as well as pedigree and genomic information. A total of 6,041 animals were included in the research, while 2,565 of them had data for milk production traits. In order to form a genomic relationship matrix, 58K SNP data were used for a total of 1,491 cows. Several software tools were used in the preparation and analysis of data, which were provided by the Central Breeding Organization, Department of Animal Science, Faculty of Agriculture, University of Novi Sad. PreGSF90, in combination with RENUMF90, was used for quality control of genomic information. Genetic analysis was performed in WOMBAT software by the REML using standard repeatability univariate analysis (BLUPpe) and repeatability models for genomic prediction (GBLUPpe and ssGBLUPpe). In all three analyses, the highest heritability (0.410, 0.378 and 0.389, respectively) and repeatability (0.449, 0.429 and 0.440, respectively) were calculated for FC. Heritability estimates for all other traits were lower. Heritability ranged from 0.158 to 0.185 for MY, from 0.166 to 0.178 for FY, from 0.141 to 0.154 for PY and from 0.135 to 0.221 for PC. Heritability estimates indicate that it is possible to achieve genetic improvement but it is necessary to introduce the best model for prediction of breeding values of cow
    corecore